/*
*
*/

#ifndef GLOBALDEFINE_H
#define GLOBALDEFINE_H

#include <assert.h>
#include <string>
#include <windows.h>
#include <tchar.h>
#include <vector>
#include <hash_map>

using namespace std;
using namespace stdext;

typedef vector<string> StringVector;

typedef void (*STARTPLUGIN)();
typedef void (*STOPPLUGIN)();

#define DEFAULT_PLUGINDLL_START "PluginDllStart"
#define DEFAULT_PLUGINDLL_STOP "PluginDllStop"
#define DEFAULT_TEXT_LEN 255

#define SafeDelete(pObject)\
do\
{\
	if (0 != pObject)\
	{\
		delete pObject;\
		pObject = 0;\
	}\
} while (false)

#define SafeDeleteArray(pObject)\
do\
{\
	if (0 != pObject)\
	{\
		delete [] pObject;\
		pObject = 0;\
	}\
} while (false)

#ifdef GAME_EXPORTS
	#define GAME_DLL __declspec(dllexport)
#else
	#ifndef GAME_IMPORT
		#define GAME_DLL __declspec(dllimport)
	#else
		#define GAME_DLL
	#endif
#endif

#endif